home *** CD-ROM | disk | FTP | other *** search
/ Software of the Month Club 2000 October / Software of the Month - Ultimate Collection Shareware 277.iso / pc / PROGRAMS / UTILITY / WINLINUX / DATA1.CAB / programs_-_gtk / INCLUDE / GTK / GTKMAIN.H < prev    next >
C/C++ Source or Header  |  1999-09-17  |  5KB  |  163 lines

  1. /* GTK - The GIMP Toolkit
  2.  * Copyright (C) 1995-1997 Peter Mattis, Spencer Kimball and Josh MacDonald
  3.  *
  4.  * This library is free software; you can redistribute it and/or
  5.  * modify it under the terms of the GNU Library General Public
  6.  * License as published by the Free Software Foundation; either
  7.  * version 2 of the License, or (at your option) any later version.
  8.  *
  9.  * This library is distributed in the hope that it will be useful,
  10.  * but WITHOUT ANY WARRANTY; without even the implied warranty of
  11.  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.     See the GNU
  12.  * Library General Public License for more details.
  13.  *
  14.  * You should have received a copy of the GNU Library General Public
  15.  * License along with this library; if not, write to the
  16.  * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
  17.  * Boston, MA 02111-1307, USA.
  18.  */
  19.  
  20. /*
  21.  * Modified by the GTK+ Team and others 1997-1999.  See the AUTHORS
  22.  * file for a list of people on the GTK+ Team.  See the ChangeLog
  23.  * files for a list of changes.  These files are distributed with
  24.  * GTK+ at ftp://ftp.gtk.org/pub/gtk/. 
  25.  */
  26.  
  27. #ifndef __GTK_MAIN_H__
  28. #define __GTK_MAIN_H__
  29.  
  30.  
  31. #include <gdk/gdk.h>
  32. #include <gtk/gtkwidget.h>
  33.  
  34.  
  35. #ifdef __cplusplus
  36. extern "C" {
  37. #endif /* __cplusplus */
  38.  
  39. /* Priorities for redrawing and resizing
  40.  */
  41. #define GTK_PRIORITY_REDRAW     (G_PRIORITY_HIGH_IDLE + 20)
  42. #define GTK_PRIORITY_RESIZE     (G_PRIORITY_HIGH_IDLE + 10)
  43.  
  44. /* Deprecated. Use G_PRIORITY #define's instead
  45.  */
  46. #define GTK_PRIORITY_HIGH       G_PRIORITY_HIGH
  47. #define GTK_PRIORITY_INTERNAL   GTK_PRIORITY_REDRAW
  48. #define GTK_PRIORITY_DEFAULT    G_PRIORITY_DEFAULT_IDLE
  49. #define GTK_PRIORITY_LOW    G_PRIORITY_LOW
  50.  
  51. typedef void    (*GtkModuleInitFunc)    (gint        *argc,
  52.                      gchar          ***argv);
  53. typedef gint    (*GtkKeySnoopFunc)    (GtkWidget    *grab_widget,
  54.                      GdkEventKey    *event,
  55.                      gpointer     func_data);
  56.  
  57. /* Gtk version.
  58.  */
  59. extern const guint gtk_major_version;
  60. extern const guint gtk_minor_version;
  61. extern const guint gtk_micro_version;
  62. extern const guint gtk_binary_age;
  63. extern const guint gtk_interface_age;
  64. gchar* gtk_check_version (guint    required_major,
  65.               guint    required_minor,
  66.               guint    required_micro);
  67.  
  68.  
  69. /* Initialization, exit, mainloop and miscellaneous routines
  70.  */
  71. void       gtk_init         (int           *argc,
  72.                   char         ***argv);
  73. gboolean   gtk_init_check        (int           *argc,
  74.                   char         ***argv);
  75. void       gtk_exit         (gint        error_code);
  76. gchar*       gtk_set_locale     (void);
  77. gint       gtk_events_pending     (void);
  78.  
  79. /* The following is the event func GTK+ registers with GDK
  80.  * we expose it mainly to allow filtering of events between
  81.  * GDK and GTK+.
  82.  */
  83. void  gtk_main_do_event          (GdkEvent           *event);
  84.  
  85. void       gtk_main         (void);
  86. guint       gtk_main_level     (void);
  87. void       gtk_main_quit     (void);
  88. gint       gtk_main_iteration     (void);
  89. /* gtk_main_iteration() calls gtk_main_iteration_do(TRUE) */
  90. gint       gtk_main_iteration_do (gboolean blocking);
  91.  
  92. gint       gtk_true           (void);
  93. gint       gtk_false           (void);
  94.  
  95. void       gtk_grab_add           (GtkWidget           *widget);
  96. GtkWidget* gtk_grab_get_current       (void);
  97. void       gtk_grab_remove       (GtkWidget           *widget);
  98.  
  99. void       gtk_init_add           (GtkFunction           function,
  100.                     gpointer           data);
  101. void       gtk_quit_add_destroy       (guint           main_level,
  102.                     GtkObject          *object);
  103. guint       gtk_quit_add           (guint           main_level,
  104.                     GtkFunction           function,
  105.                     gpointer           data);
  106. guint       gtk_quit_add_full       (guint           main_level,
  107.                     GtkFunction           function,
  108.                     GtkCallbackMarshal marshal,
  109.                     gpointer           data,
  110.                     GtkDestroyNotify   destroy);
  111. void       gtk_quit_remove       (guint           quit_handler_id);
  112. void       gtk_quit_remove_by_data (gpointer           data);
  113. guint       gtk_timeout_add       (guint32           interval,
  114.                     GtkFunction           function,
  115.                     gpointer           data);
  116. guint       gtk_timeout_add_full       (guint32           interval,
  117.                     GtkFunction           function,
  118.                     GtkCallbackMarshal marshal,
  119.                     gpointer           data,
  120.                     GtkDestroyNotify   destroy);
  121. void       gtk_timeout_remove       (guint           timeout_handler_id);
  122.  
  123. guint       gtk_idle_add           (GtkFunction           function,
  124.                     gpointer           data);
  125. guint       gtk_idle_add_priority   (gint           priority,
  126.                     GtkFunction           function,
  127.                     gpointer           data);
  128. guint       gtk_idle_add_full       (gint           priority,
  129.                     GtkFunction           function,
  130.                     GtkCallbackMarshal marshal,
  131.                     gpointer           data,
  132.                     GtkDestroyNotify   destroy);
  133. void       gtk_idle_remove       (guint           idle_handler_id);
  134. void       gtk_idle_remove_by_data (gpointer           data);
  135. guint       gtk_input_add_full       (gint           source,
  136.                     GdkInputCondition  condition,
  137.                     GdkInputFunction   function,
  138.                     GtkCallbackMarshal marshal,
  139.                     gpointer           data,
  140.                     GtkDestroyNotify   destroy);
  141. void       gtk_input_remove       (guint           input_handler_id);
  142.  
  143.  
  144. guint       gtk_key_snooper_install (GtkKeySnoopFunc snooper,
  145.                     gpointer        func_data);
  146. void       gtk_key_snooper_remove  (guint        snooper_handler_id);
  147.   
  148. GdkEvent*  gtk_get_current_event   (void);
  149. GtkWidget* gtk_get_event_widget       (GdkEvent       *event);
  150.  
  151.  
  152. /* Private routines internal to GTK+ 
  153.  */
  154. void       gtk_propagate_event     (GtkWidget         *widget,
  155.                     GdkEvent          *event);
  156.  
  157. #ifdef __cplusplus
  158. }
  159. #endif /* __cplusplus */
  160.  
  161.  
  162. #endif /* __GTK_MAIN_H__ */
  163.